1. Technical Field of the Invention
The present invention relates to the field of integrated circuit, and more particularly to a processor for enhancing computer security.
2. Prior Art
Computer security is the protection of computer systems from the theft or damage to their software or information, as well as from disruption or misdirection of the services they provide. This field is of growing importance due to the increasing reliance on computer systems and the Internet, wireless networks such as Bluetooth and Wi-Fi, and the growth of “smart” devices, including smart-phones, televisions and tiny devices as part of the Internet of Things (IoT).
An important aspect of computer security is anti-malware. Malware, short for malicious software, is any software used to disrupt computer operation, gather sensitive information, or gain access to private computer systems. During the anti-malware operation, computer data are scanned against malware patterns in a malware database. Unless explicitly stated, the present invention does not differentiate “malware” and “virus”. They are used interchangeably.
The basic anti-malware operations are pattern matching and/or pattern recognition. Pattern matching and pattern recognition are the acts of searching a target pattern (i.e. the pattern to be searched) for the presence of the constituents or variants of a search pattern (i.e. the pattern used for searching). The match usually has to be “exact” for pattern matching, while it could be “likely to a certain degree” for pattern recognition. In the case of computer security, the target pattern is a computer data, whereas the search pattern is a virus pattern. Unless explicitly stated, the present invention does not differentiate pattern matching and pattern recognition. They are collectively referred to as pattern processing. In addition, search patterns and target patterns are collectively referred to as patterns.
The virus database has become large: the number of computer viruses has reached hundreds of thousands, soon to millions. Pattern processing for such large virus database requires not only a powerful processor, but also a fast storage. Unfortunately, a conventional computer-security system cannot meet these requirements. Because it has a limited number (tens to hundreds) of cores, a typical processor (CPU, GPU, etc.) can simultaneously perform only a limited number (tens to hundreds) of pattern processing. Furthermore, because the processor is separated from the storage in a von Neumann architecture, the “memory wall” between them would cause a long delay when the processor fetches virus patterns from the storage. As a result, the performance of the conventional computer-security system is poor.